package Day019_Junit单元测试_NIO.demo3_Buffer类_缓冲区;

import java.nio.ByteBuffer;
import java.util.Arrays;

/**
 * @author zhangyan
 * @date 2020/5/12 11:25
 */
/*
    public Buffer clear()：还原缓冲区的状态 数据还在
             将position设置为：0
             将限制limit设置为容量capacity；
             丢弃标记mark

 */
public class Test8_clear {
    public static void main(String[] args) {

        //创建ByteBuffer缓冲数组 容量为10
        ByteBuffer bb = ByteBuffer.allocate(10);

        //添加元素
        bb.put((byte) 1);
        bb.put((byte) 2);
        bb.put((byte) 3);

        //设置限制位置
        bb.limit(6);

        System.out.println("容量:" + bb.capacity() + "限制:" + bb.limit() + "位置:" + bb.position());
        //容量:10限制:6位置:3

        //1. clear  还原初始状态
        bb.clear();
        System.out.println("容量:" + bb.capacity() + "限制:" + bb.limit() + "位置:" + bb.position());
        //容量:10限制:10位置:0
        System.out.println(Arrays.toString(bb.array()));
        //[1, 2, 3, 0, 0, 0, 0, 0, 0, 0]

    }
}
